package com.med.mapper;


import com.med.entity.ScheduleDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.sql.Date;
import java.util.List;
import java.util.Map;

/**
 * @BelongsProject: Internet-based-healthcare
 * @BelongsPackage: com.med.mapper
 * @Author: 小龚
 * @CreateTime: 2025-08-25 09:18
 * @Description: TODO
 * @Version: 1.0
 */
@Mapper
public interface GenerateNumberMapper {

    // 根据医生id查询其排班(未生成预约号的，避免出面重复生成预约号)
    List<ScheduleDO> getScheduleByDoctorId(Integer doctorId);

    // 生成医生的预约号
    Integer generateNumber(@Param("slots") List<Map<String, Object>> slots);

    // 生成预约号后把排班的标记标记为已生成预约号
    Integer updateSign(@Param("slots") List<Map<String, Object>> slots);

    // 排班发生更改删除当日的预约号 重新生成新预约号
    Integer deleteNumber(@Param("doctorId") Integer doctorId, @Param("scheduleDate") Date scheduleDate);
}
